package com.macro.mall.portal.service;

import com.macro.mall.dto.BmsMuseumGroupDetail;
import com.macro.mall.dto.BmsMuseumParam;
import com.macro.mall.model.BmsMuseumGroup;
import com.macro.mall.portal.dto.ActivictyApplicantDetail;
import com.macro.mall.query.BmsMuseumGroupQuery;
import com.macro.mall.dto.BmsMuseumGroupParam;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface BmsMuseumGroupService {

    List<BmsMuseumGroup> findList(BmsMuseumGroupQuery query);

    @Transactional
    int create(BmsMuseumGroupParam param);

    int update(BmsMuseumGroupParam param);

    BmsMuseumGroup getById(Long id);

    @Transactional
    int delete(List<Long> ids);

    List<ActivictyApplicantDetail> getCurrentDataApplicantDetail(BmsMuseumGroupParam bmsMuseumGroupParam);

    List<BmsMuseumGroup> getOpenTimeByMuseumId(BmsMuseumGroupParam bmsMuseumGroupParam);

    List<BmsMuseumGroupDetail> getReserveProjectActivities(BmsMuseumGroupParam bmsMuseumGroupParam);

    BmsMuseumGroupDetail getRegistrationActivitiesDetail(BmsMuseumGroupParam bmsMuseumGroupParam);
}
